package com.zcxy.fast.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zcxy.fast.bean.PageQuery;
import com.zcxy.fast.bean.TreeNode;
import com.zcxy.fast.entity.SysCategory;
import com.zcxy.fast.vo.SysCategoryVo;
import java.util.List;
import java.util.Map;


/**
 *  分类字典 Service接口
 *
 * @author zcc
 * @email  860474958@qq.com
 * @date   2020-12-25 17:39:33
 */
public interface ISysCategoryService extends IService<SysCategory> {
    /**
     * 分类字典：分页查询
     * PageQuery<T>
     * @return IPage < SysCategoryVo>
     */
    IPage<SysCategoryVo> queryPageList(PageQuery<SysCategory> queryVo);

    /**
     * 分类字典：复杂列表查询
     * <p>
     * SysCategory
     *
     * @return List<SysCategoryVo>
     */
    List<SysCategoryVo> queryList(SysCategory sysCategory);

    List<Map>  queryTreeNodeList(String id);


    List<TreeNode> queryTreeNodeListByFirstCategoryCode(String categoryCode);

    /**
     * 分类字典：新增
     * <p>
     * SysCategory
     *
     * @return void
     */
    void addSysCategory(SysCategory sysCategory);

    /**
     * 分类字典:更新
     * <p>
     * SysCategory
     *
     * @return void
     */
    void updateSysCategory(SysCategory sysCategory);

    /**
     * 分类字典:删除
     *
     * @return void
     */
    void removeAllSysCategory(List<String> ids);


    List<TreeNode> queryTreeNodeList();
}
